@mixin normalize-html5 {

    /* ==========================================================================
       HTML5 display definitions
       ========================================================================== */

    /**
     * Correct `block` display not defined in IE 8/9.
     */

    article,
    aside,
    details,
    figcaption,
    figure,
    footer,
    header,
    hgroup,
    main,
    nav,
    section,
    summary {
        display: block;
    }

    /**
     * Correct `inline-block` display not defined in IE 8/9.
     */

    audio,
    canvas,
    video {
        display: inline-block;
    }

    /**
     * Prevent modern browsers from displaying `audio` without controls.
     * Remove excess height in iOS 5 devices.
     */

    audio:not([controls]) {
        display: none;
        height: 0;
    }

    /**
     * Address `[hidden]` styling not present in IE 8/9.
     * Hide the `template` element in IE, Safari, and Firefox < 22.
     */

    [hidden],
    template {
        display: none;
    }
}